home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / IDL / ODSessn.idl < prev    next >
Encoding:
Text File  |  1994-04-19  |  4.5 KB  |  177 lines  |  [TEXT/MPS ]

  1. //# Copyright:    © 1993-94 by Apple Computer, Inc., all rights reserved.
  2. #ifndef _ODSESSN_
  3. #define _ODSESSN_
  4.  
  5. #ifndef _BASESESS_
  6. #include "BaseSess.idl"
  7. #endif
  8.  
  9. //==============================================================================
  10. // Theory of Operation
  11. //==============================================================================
  12.  
  13. /*
  14.   This class represents the "system" calls in OpenDoc. A global function
  15.   provides initialization of the OpenDoc environment and returns a reference
  16.   to the one ODSession object. The member functions of the class
  17.   include accessors for some of the other unique classes in OpenDoc as well
  18.   as a few other system functions.
  19. */
  20.  
  21. //==============================================================================
  22. // Constants
  23. //==============================================================================
  24.  
  25. // Change these names later…
  26.  
  27. //# $$$$$const ODTypeToken kODNullTypeToken = (ODTypeToken) 0;
  28.  
  29. //==============================================================================
  30. // Classes defined in this interface
  31. //==============================================================================
  32.  
  33. interface   ODSession;
  34.  
  35. //==============================================================================
  36. // Classes used by this interface
  37. //==============================================================================
  38.  
  39. interface   ODWindowState;
  40. interface   ODDispatcher;
  41. interface   ODArbitrator;
  42. interface   ODStorageSystem;
  43. interface   ODClipboard;
  44. interface   ODDragAndDrop;
  45. interface   ODLinkManager;
  46. interface   ODNameSpaceManager;
  47. interface   ODMessageInterface;
  48. interface   ODNameResolver;
  49. interface   ODTranslation;
  50. interface   ODUndo;
  51. interface   ODSemanticInterface;
  52. interface   ODSystemSession;
  53. interface   ODPersistentObject;
  54.  
  55. //=====================================================================================
  56. // Implementation Types
  57. //=====================================================================================
  58.  
  59.  
  60. //==============================================================================
  61. // Functions
  62. //==============================================================================
  63.  
  64. //# $$$$$ ODSession*  OpenODSession();
  65.  
  66.   //  Initialize the OpenDoc environment. An ODSession object will be
  67.   //  created by this call. The application shell may keep this reference
  68.   //  for convenience
  69.  
  70. //==============================================================================
  71. // ODSession
  72. //==============================================================================
  73.  
  74. interface ODSession :  ODBaseSession
  75. {
  76.   //---------------------------------
  77.   // Global Accessors
  78.  
  79.    ODWindowState GetWindowState();
  80.  
  81.    ODDispatcher GetDispatcher();
  82.  
  83.    ODArbitrator GetArbitrator();
  84.  
  85.    ODClipboard GetClipboard();
  86.  
  87.    ODDragAndDrop GetDragAndDrop();
  88.  
  89.    ODLinkManager GetLinkManager();
  90.  
  91.    ODMessageInterface GetMessageInterface();
  92.  
  93.    ODNameResolver GetNameResolver();
  94.  
  95.    ODTranslation GetTranslation();
  96.  
  97.    ODUndo GetUndo();
  98.  
  99.    ODIText GetUserName();
  100.  
  101.   //---------------------------------
  102.   // Semantic Events
  103.  
  104.    ODSemanticInterface GetSemanticInterface();
  105.  
  106.    ODSemanticInterface GetShellSemtInterface();
  107.  
  108.   //---------------------------------
  109.   // Types and Token
  110.  
  111.    ODTypeToken Tokenize( inout ODType type);
  112.     
  113.    void RemoveEntry( inout ODType type);
  114.     
  115.    ODBoolean GetType(in ODTypeToken token,
  116.                         out ODType type);
  117.     
  118.   //---------------------------------
  119.   // Registration
  120.  
  121.    void  RegisterObject(in ODPersistentObject object,
  122.                            in ODISOStr collection,
  123.                         in ODSLong refCon);
  124.     
  125.    void UnregisterObject(in ODPersistentObject object,
  126.                             in ODISOStr collection,
  127.                          in ODSLong refCon);
  128.     
  129.    ODBoolean Exists(in ODPersistentObject object,
  130.                        in ODISOStr collection,
  131.                     in ODSLong refCon);
  132.     
  133.   //---------------------------------
  134.   // Data Interchange
  135.  
  136.    ODChangeID UniqueChangeID();
  137.  
  138.   //---------------------------------
  139.   // Shutdown
  140.  
  141. #ifdef __SOMIDL__
  142.     implementation
  143.     {
  144.     override:
  145.         somInit,
  146.         somUninit,
  147.         Close,
  148.         Purge;
  149.     releaseorder:
  150.         GetWindowState,
  151.         GetDispatcher,
  152.         GetArbitrator,
  153.         GetClipboard,
  154.         GetDragAndDrop,
  155.         GetLinkManager,
  156.         GetMessageInterface,
  157.         GetNameResolver,
  158.         GetTranslation,
  159.         GetUndo,
  160.         GetUserName,
  161.         GetSemanticInterface,
  162.         GetShellSemtInterface,
  163.         Tokenize,
  164.         RemoveEntry,
  165.         GetType,
  166.         RegisterObject,
  167.         UnregisterObject,
  168.         Exists,
  169.         UniqueChangeID;
  170.     
  171.   };
  172. #endif
  173. };
  174.  
  175.  
  176. #endif // _ODSESSN_
  177.